%-----------------------------------------------------------------------------
\chapter{Example}
%-----------------------------------------------------------------------------




\section{Feige–Fiat–Shamir protocol}
The so called "`Feige–Fiat–Shamir protocol"' implements zero knowledge
authentication. However, it needs a third party for processing.

\subsection{Implementation}
From a third party two large prime integers p and q have to be chosen to
compute the product n = p x q. Then secret numbers ${}s_1$, \cdots, ${}s_k$ 
with gcd(${}s_i$,n) = 1 have to be computed. Furthermore ${}v_i$ $\equiv$ 
${}s_1^2$ mod(n). Now Peggy and Victor both receive n while p and q stay secret.
Peggy is then sent the numbers ${}s_i$ that are her secret login numbers.
Victor is sent the numbers ${}v_i$.
\newline
\newline
This way Victor is unable to recover Peggy's ${}s_i$ numbers from his ${}v_i$
numbers due to the difficulty in determining a modular square root when the
modulus' factorization is unknown.
\newline
\newline
Then the following subsequent steps follow:
\begin{enumerate}
  \item Peggy chooses a random integer r, a random sign s \in $ \{-1,1$\}$ and
  computes x \equiv s\cdot r^2$ mod(n).
  \newline 
  Peggy sends x to Victor.
  \item Victor chooses numbers $a_1$, \cdots, $a_k$ where $a_i$ equals 0 or 1.
  \newline
  Victor sends these numbers to Peggy.
  \item Peggy computes y \equiv $rs_1^{a_1}, s_2^{a_2}$ \cdots
  $s_k^{a_k}$ mod(n).
  \newline
  Peggy sends this number to Victor.
  \item Victor checks that $y^2 \equiv \pm\, x v_1^{a_1}, v_2^{a_2} \cdots
  v_k^{a_k}$ mod(n).
\end{enumerate}
These steaps are done are done until Victor is convinced that Peggy possesses
the modular square roots (${}s_i$) of his ${}v_i$ numbers \cite{Feige-Fiat-Shamir}
\cite{wikipedia-feige-shamir}.





